Este comportamiento es muy extraño. Probé este código sin el bucle "For of" y estuvo bien. ¿Qué problema tiene?
Se supone que debe contar elementos únicos.
function countIdentic(arr) { let sum = 0 let counter = 1 for (let a of arr) { if (arr.includes(a, counter)) { sum++ counter++ } } return sum } let mf = [9, 8, 7, 6, 5, 4, 3, 2, 1, 10] console.log(countIdentic(mf))¿Qué cosa?
Resulta que su contador debe incrementarse en cada iteración, no solo cuando la declaración if es true . Así que pásalo a la línea de abajo.
function countIdentic(arr) { let sum = 0 let counter=1 for(let a of arr){ if(arr.includes(a,counter)){ sum++; } counter++; } return sum } let mf=[9,8,7,6,5,6,5,4,3,2,1,10] console.log(countIdentic(mf))